import Vue from 'vue'
import VueRouter from 'vue-router' 
import Login from '@/views/pages/login.vue';
import Layout from '@/views/layout/layout.vue'
// 解决跳转到重复路由报错的问题
const originalPush = VueRouter.prototype.push;
VueRouter.prototype.push = function (location) {
  return originalPush.call(this, location).catch(err => { })
};
Vue.use(VueRouter)


const routes = [
  {
    path: '/', 
    redirect: '/login'
  },
  {
    path: '/login',
    name: 'Login',
    component: Login
  },
  {
    path: '/layout',
    name: 'Layout', 
    component:  Layout, 
    children: [
      {
        path: 'home',
        name: 'Home',
        component: () => import('@/views/pages/home.vue')
      },
      {
        path:'test',
        name: 'Test',
        component: () => import('@/views/pages/test.vue')
      }
    ] 
  }
]

const router = new VueRouter({
  mode: 'history',
  base:  process.env.NODE_ENV == 'production'? '/server/':'/',
  routes
})

 // 钩子函数
// beforeEach() 函数判断访问的路径是否需要登录，
// router.beforeEach()，意思是在访问每一个路由前调用。
// 如果需要，判断 store 里有没有存储 user 的信息，
// 如果存在，则放行，否则跳转到登录页面，并存储访问的页面路径（以便在登录后跳转到访问页）。
// router.beforeEach((to, from, next) => {
//   if (to.meta.requireAuth) {
//     if (store.state.user.username) {
//       next()
//     } else {
//       next({
//         path: 'login',
//         query: {redirect: to.fullPath}
//       })
//     }
//   } else {
//     next()
//   }
// })

export default router
